hive表级权限控制 您所在的位置:网站首页 hive 表授权 hive表级权限控制

hive表级权限控制

2024-03-03 13:00| 来源: 网络整理| 查看: 265

Hive权限管理

1、hive授权模型介绍

(1)Storage Based Authorization in the Metastore Server

基于存储的授权 - 可以对Metastore中的元数据进行保护,但是没有提供更加细粒度的访问控制(例如:列级别、行级别)。

(2)SQL Standards Based Authorization in HiveServer2

基于SQL标准的Hive授权 - 完全兼容SQL的授权模型,推荐使用该模式。

(3)Default Hive Authorization (Legacy Mode)

hive默认授权 - 设计目的仅仅只是为了防止用户产生误操作,而不是防止恶意用户访问未经授权的数据。

2、基于SQL标准的hiveserver2授权模式

​(1)完全兼容SQL的授权模型

​(2)除支持对于用户的授权认证,还支持角色role的授权认证

​1、role可理解为是一组权限的集合,通过role为用户授权

​2、一个用户可以具有一个或多个角色,默认包含另种角色:public、admin

3、基于SQL标准的hiveserver2授权模式的限制

​1、启用当前认证方式之后,dfs, add, delete, compile, and reset等命令被禁用。

​2、通过set命令设置hive configuration的方式被限制某些用户使用。

​(可通过修改配置文件hive-site.xml中hive.security.authorization.sqlstd.confwhitelist进行配置)

​3、添加、删除函数以及宏的操作,仅为具有admin的用户开放。

​4、用户自定义函数(开放支持永久的自定义函数),可通过具有admin角色的用户创建,其他用户都可以使用。

​5、Transform功能被禁用。

4、详细配置

hive.security.authorization.enabled

true

hive.server2.enable.doAs

false

hive.users.in.admin.role

root

hive.security.authorization.managerorg.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactory

hive.security.authenticator.manager

org.apache.hadoop.hive.ql.security.SessionStateUserAuthenticator

5、Hive权限管理命令

--角色的添加、删除、查看、设置:

-- 创建角色

CREATE ROLE role_name;

-- 删除角色

DROP ROLE role_name;

-- 设置角色

SET ROLE (role_name|ALL|NONE);

-- 查看当前具有的角色

SHOW CURRENT ROLES;

-- 查看所有存在的角色

SHOW ROLES;

6、Hive权限分配图

Action

Select

Insert

Update

Delete

Owership

Admin

URL Privilege(RWX Permission + Ownership)

ALTER DATABASE

Y

ALTER INDEX PROPERTIES

Y

ALTER INDEX REBUILD

Y

ALTER PARTITION LOCATION

Y

Y (for new partition location)

ALTER TABLE (all of them except the ones above)

Y

ALTER TABLE ADD PARTITION

Y

Y (for partition location)

ALTER TABLE DROP PARTITION

Y

ALTER TABLE LOCATION

Y

Y (for new location)

ALTER VIEW PROPERTIES

Y

ALTER VIEW RENAME

Y

ANALYZE TABLE

Y

Y

CREATE DATABASE

Y (if custom location specified)

CREATE FUNCTION

Y

CREATE INDEX

Y (of table)

CREATE MACRO

Y

CREATE TABLE

Y (of database)

Y (for create external table – the location)

CREATE TABLE AS SELECT

Y (of input)

Y (of database)

CREATE VIEW

Y + G

DELETE

Y

DESCRIBE TABLE

Y

DROP DATABASE

Y

DROP FUNCTION

Y

DROP INDEX

Y

DROP MACRO

Y

DROP TABLE

Y

DROP VIEW

Y

DROP VIEW PROPERTIES

Y

EXPLAIN

Y

INSERT

Y

Y (for OVERWRITE)

LOAD

Y (output)

Y (output)

Y (input location)

MSCK (metastore check)

Y

SELECT

Y

SHOW COLUMNS

Y

SHOW CREATE TABLE

Y+G

SHOW PARTITIONS

Y

SHOW TABLE PROPERTIES

Y

SHOW TABLE STATUS

Y

TRUNCATE TABLE

Y

UPDATE

Y



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有